package com.zhihuishu.micro.course.helper;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Set;

import org.springframework.util.CollectionUtils;

/**
 * 
 * @author	zhanglikun
 * @date	2015年9月28日 上午11:16:31
 */
public class CollectionHelper {

	/**
	 * 集合拼装为字符串，以逗号分隔
	 * @param colls
	 * @return
	 */
	public static final <T> String join(Collection<T> colls) {
		return join(colls ,",") ;
	}
	
	/**
	 * 集合拼装为字符串
	 * @param colls
	 * @param separator
	 * @return
	 */
	public static final <T> String join(Collection<T> colls ,String separator) {
		if(CollectionUtils.isEmpty(colls)) return null ;
		StringBuffer sb = new StringBuffer() ;
		for(T t : colls) {
			sb.append(t != null ? t.toString() : "") ;
			sb.append(separator) ;
		}
		return sb.substring(0, sb.length() - 1) ;
	}

	public static void main(String[] args) {
		
		System.out.println(join(Arrays.asList(12 ,2 ,36 ,81) ," "));
		
	}

	/**
	 * 判断集合所有元素都为空(只要有一个元素不为空，返回false，否则返回true)
	 * @param colls
	 * @return
	 */
	public static final boolean allNull(Collection<?> colls) {
		if(colls == null || colls.isEmpty()) return true ;
		boolean flag = true ;
		for(Object obj : colls) {
			if(obj != null) {
				flag = false ;
				break ;
			}
		}
		return flag;
	}
	
	/**
	 * 集合转换List
	 * @param set
	 * @return
	 */
	public static final <T> List<T> toList(Set<T> set) {
		if(CollectionUtils.isEmpty(set)) return null ;
		List<T> list = new ArrayList<T>() ;
		for(T t : set) list.add(t) ;
		return list ;
	}
	
}
